문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Java Virtual Machine (문단 편집) === 가비지 컬렉션 (GC) === JVM은 [[쓰레기 수집|가비지 컬렉션]]을 수행하여 할당되었다가 더 이상 쓰이지 않는 메모리를 자동으로 회수한다. Full GC(전체 가비지 컬렉션)의 경우 프로그램 수행을 일시 정지(Stop-the-World) 시켜놓고 할 수밖에 없는데, 또 이게 Java 프로그램이 규칙적이지도 않고 이유도 없이 뚝뚝 끊긴다는 악명을 떨치는데 공헌했다. 대규모 서비스의 운영 시 Full GC는 성능에 상당히 심각한 영향을 주므로 프로그래머의 GC 튜닝이 필수로 들어간다. 최신 버전(11~12 이후)의 JVM에는 힙의 크기와 상관없이(수백 MB ~ 수십 TB까지) 일시정지 시간이 10ms 이하인 GC 알고리즘들(ZGC, Shenandoah)이 탑재되어 있다. JVM 모니터링 클라이언트 VisualVM[* [[넷빈즈]]를 기반으로 만들어져 있다.]과 그 플러그인 Visual GC를 설치하면 가비지 컬렉팅 상황을 시각적으로 확인할 수 있다. [[https://visualvm.github.io/|#]] VisualVM 디렉토리의 etc 폴더에 가면 visualvm.conf라는 파일이 있는데, 이 파일에 적혀 있는 visualvm_jdkhome 항목의 주석(#)을 제거한 후 [[JDK]] 폴더의 경로를 적으면 자신이 원하는 버전의 JDK로 모니터링이 가능하다. GC의 상세한 동작 과정에 대해서는 [[http://d2.naver.com/helloworld/1329|이 문서]]를 참고할 것.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기